WebGLRenderingContext: bindTexture() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Note: This feature is available in Web Workers.

The WebGLRenderingContext.bindTexture() method of the WebGL API binds a given WebGLTexture to a target (binding point).

Syntax

js
bindTexture(target, texture)

Parameters

target

A GLenum specifying the binding point (target). Possible values:

gl.TEXTURE_2D

A two-dimensional texture.

gl.TEXTURE_CUBE_MAP

A cube-mapped texture.

When using a WebGL 2 context, the following values are available additionally:

gl.TEXTURE_3D

A three-dimensional texture.

gl.TEXTURE_2D_ARRAY

A two-dimensional array texture.

texture

A WebGLTexture object to bind. If null is passed, the currently bound texture for the specified target is unbound.

Return value

None (undefined).

Exceptions

A gl.INVALID_ENUM error is thrown if target is not gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP, gl.TEXTURE_3D, or gl.TEXTURE_2D_ARRAY.

Examples

Binding a texture

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const texture = gl.createTexture();

gl.bindTexture(gl.TEXTURE_2D, texture);

Unbinding a texture

js
// Unbind any texture currently bound to TEXTURE_2D
gl.bindTexture(gl.TEXTURE_2D, null);

Getting current bindings

To check the current texture binding, query the gl.TEXTURE_BINDING_2D or gl.TEXTURE_BINDING_CUBE_MAP constants.

js
gl.getParameter(gl.TEXTURE_BINDING_2D);

Specifications

Specification
WebGL Specification
# 5.14.8
WebGL 2.0 Specification
# 3.7.1

Browser compatibility

See also